1. Field
This disclosure relates generally to the field of electronics, and more specifically, but not exclusively, to digitally controlled oscillators.
2. Background
A digitally controlled oscillator (DCO), sometimes referred to as a numerically controlled oscillator, is an electronic circuit for synthesizing a range of frequencies from a fixed reference clock. The output frequency generated by the DCO at a particular time is a function of the value a digital input or control code. DCOs may be used as frequency synthesizers for generating waveforms for a variety of electronic circuit-based applications. DCOs are being increasingly employed, for example, in the arenas of wireless communications, high resolution imaging, high speed networking, display technology, digital signal processing, and a host of other circuit-intensive areas.
For applications involving conventional wireless communications devices including mobile phones and portable computers, the DCO-produced waveforms may be used to implement functions such as clock and data recovery, carrier wave synthesis, signal encoding/decoding and modulation/demodulation, programmable waveform generation, and the like. Many recent applications involving wireless communications have seen the widespread use of DCOs implemented within digital phase locked loops (DPLLs). Due to its digital nature, the DCO can offer fast switching between output frequencies, high resolution, and operation over a broad frequency spectrum. DCOs may also offer superior noise rejection over conventional circuit techniques by reducing the number of analog circuit components, and reducing or eliminating noise susceptible parameters such as oscillator control voltages, etc.
As the demand for smaller DCOs for fast switching between more granular output frequencies continues to escalate, so too have the problems associated with parasitic circuit values and impedance mismatches for the various circuit elements that make up the DCOs. In practical implementations, linear input codes tend to produce nonlinear output frequencies from DCOs—specifically, gaps or instances of overlap in a plot of output frequency versus input control code.
A need persists in the art for effectively identifying and correcting these instances of nonlinearity in a DCO.